@echo off
setlocal enabledelayedexpansion

:menu
cls
echo ========================================
echo 商家后端系统 Docker 管理工具
echo ========================================
echo.
echo 请选择操作:
echo 1. 启动服务
echo 2. 停止服务
echo 3. 重启服务
echo 4. 查看状态
echo 5. 查看日志
echo 6. 清理数据
echo 7. 进入容器
echo 8. 数据库备份
echo 9. 退出
echo.
set /p choice=请输入选项 (1-9): 

if "%choice%"=="1" goto start
if "%choice%"=="2" goto stop
if "%choice%"=="3" goto restart
if "%choice%"=="4" goto status
if "%choice%"=="5" goto logs
if "%choice%"=="6" goto cleanup
if "%choice%"=="7" goto enter
if "%choice%"=="8" goto backup
if "%choice%"=="9" goto exit

echo 无效选项，请重新选择
pause
goto menu

:start
echo 启动服务...
docker-compose up -d
echo 服务启动完成
pause
goto menu

:stop
echo 停止服务...
docker-compose down
echo 服务停止完成
pause
goto menu

:restart
echo 重启服务...
docker-compose restart
echo 服务重启完成
pause
goto menu

:status
echo 查看服务状态...
docker-compose ps
echo.
echo 查看容器资源使用情况...
docker stats --no-stream
pause
goto menu

:logs
cls
echo 选择要查看的日志:
echo 1. 所有服务日志
echo 2. 后端应用日志
echo 3. MySQL日志
echo 4. Redis日志
echo 5. 返回主菜单
echo.
set /p log_choice=请输入选项 (1-5): 

if "%log_choice%"=="1" docker-compose logs -f
if "%log_choice%"=="2" docker-compose logs -f merchant-backend
if "%log_choice%"=="3" docker-compose logs -f mysql
if "%log_choice%"=="4" docker-compose logs -f redis
if "%log_choice%"=="5" goto menu

pause
goto menu

:cleanup
echo 警告: 此操作将删除所有数据，包括数据库数据！
set /p confirm=确认删除所有数据? (y/N): 
if /i "%confirm%"=="y" (
    echo 清理所有数据...
    docker-compose down -v
    docker system prune -f
    echo 数据清理完成
) else (
    echo 操作已取消
)
pause
goto menu

:enter
cls
echo 选择要进入的容器:
echo 1. 后端应用容器
echo 2. MySQL容器
echo 3. Redis容器
echo 4. 返回主菜单
echo.
set /p container_choice=请输入选项 (1-4): 

if "%container_choice%"=="1" docker-compose exec merchant-backend /bin/bash
if "%container_choice%"=="2" docker-compose exec mysql mysql -u root -p123456 merchant_db
if "%container_choice%"=="3" docker-compose exec redis redis-cli
if "%container_choice%"=="4" goto menu

pause
goto menu

:backup
echo 备份数据库...
set backup_file=backup_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.sql
set backup_file=%backup_file: =0%
docker-compose exec mysql mysqldump -u root -p123456 merchant_db > %backup_file%
echo 数据库备份完成: %backup_file%
pause
goto menu

:exit
echo 退出管理工具
exit /b 0
